home *** CD-ROM | disk | FTP | other *** search
- #include "bbs.h"
- extern char Xprlib[];
- extern char prototitle[];
- #define DSKBUFF 20480L /* For Sending */
- //extern BYTE ZWindow;
- extern UBYTE serin[];
- extern char diskbuff[DSKBUFF];
- extern BOOL LocalUpload;
- extern BOOL LcFileXfr;
- int Zmodem_Receive(char *flname,int ULFType)
- {
- int c;
- char *p;
- char temp[100];
- if(Whence_The_Logon>=REMOTE_LOGON && !LocalUpload && !LcFileXfr) {
- if(!ULFType) {
- sprintf(temp,"\r\n%s: Ready to Receive\r\n",prototitle);
- AEPutStr(temp);
- AEPutStr("Control-X to Cancel\r\n");
- }
- if(strcmp(Xprlib,"INTERNAL") && GET_BIT(ACS_XPR_RECEIVE))
- {
- XPRReceive(flname);
- return(1);
- }
- sprintf(temp,"[Node %d] Receive Window",Cmds->AcLvl[LVL_NODE_NUMBER]);
- strcpy(ZModemInfo.TitleBar,temp);
- ZModemInfo.RecPos=ZModemInfo.Filesize=ZModemInfo.ErrorPos=
- ZModemInfo.LastTime=ZModemInfo.ApxTime=ZModemInfo.Cps=
- ZModemInfo.Eff=ZModemInfo.ResumePos=0;
- OpenZDisplay();
- ZWindow=1;
- Delay(50L);
- AbortIO(ReadSerReq);
- WaitIO(ReadSerReq);
-
- p = strlen(flname)+flname;
- while(p>=flname && *p!=':' && *p!='/') *p-- == '\0';
-
- if(!CheckIO(TimerMsg)) AbortIO(TimerMsg);
- WaitIO(TimerMsg);
- c = proto(ReadSerReq, WriteSerReq, TimerMsg, &diskbuff[0], DSKBUFF,
- (long)Online_Baud, flname, 0, 0);
-
- ReadSerReq->IOSer.io_Command = CMD_READ;
- ReadSerReq->IOSer.io_Data = (APTR)&serin[0];
- ReadSerReq->IOSer.io_Length = 1L;
- SendIO(ReadSerReq);
- CloseZDisplay(); /* close the transfer widow */
- ZWindow=0;
- Delay(70L);
- if(ULFType) AEPutStr("\r\n\r\n");
-
- AEPutStr(prototitle);
- if(c) AEPutStr(" upload successful\r\n");
- else AEPutStr(" upload unsuccessful\r\n");
-
- return c;
- } else {
- if(!LcFileXfr) {if(batchasl(flname)) ReceivePlayPen(); }
- else ReceivePlayPen();
- LcFileXfr=0;
- //AEPutStr("\r\nNot supported locally...");
- }
- LocalUpload=0;
- return(0);
- }
-